Conventionally, a VoIP (Voice over Internet Protocol) telephone system includes one or more phones (e.g., SIP phones, VoIP phones, soft phones) that are coupled to an IP PBX (Internet Protocol Private Branch Exchange). The IP PBX delivers voice over a data network and is usually interoperable with the Public Switched Telephone Network (PSTN). Clients register with the IP PBX, and when a call is made, a request is sent to the IP PBX to establish the connection. The PBX includes a location register with information relating to all phones/users registered with the IP PBX. When a call is initiated, the IP PBX uses the corresponding caller IP address from the location register to connect via either a VoIP service provider or a VoIP gateway (for calls over the PSTN).
However, this conventional approach to VoIP is not very secure. In particular, it is possible for the IP PBX to be compromised. For example, an adversary might get a hold of the IP PBX server, and obtain useful information to identify persons using the system. Where the IP PBX is used for a particular purpose, such information could be used to determine who is using it for this purpose. Furthermore, if the IP PBX is used by a particular organization, the adversary could draw a connection between the individuals who were identified and the organization. Where persons are operating clandestinely, such a security breach could have severe consequences.